package com.memento.easyExample;

public class Test {
    public static void main(String[] args) {
        //原始状态
        System.out.println("**** 游戏开始，元气满满 ****");
        Originator originator = new Originator();
        originator.setState("FirstState：攻击:900,防御：1200");
        System.out.println("攻防值："+originator.getState());
        //备忘录对象的管理类
        CareTaker careTaker = new CareTaker();
        //生成一个备份对象并交给备份对象的管理者 保存备份对象
        Memento memento = originator.createMemento();
        careTaker.addMemento(memento);

        //打了boss之后，状态发生变化了
        System.out.println("**** 开始打boss了 ****");
        originator.setState("SecondState：攻击:600,防御：500");
        System.out.println("boss打过后，攻防值："+originator.getState());

        System.out.println("**** 顶不住了，我开始回城恢复元气了 **** ");
        String mementoState = originator.getStateFromMemento(careTaker.getMemento(0));
        originator.setState(mementoState);
        System.out.println("回城补血之后攻防值："+originator.getState());

    }
}
